package cn.elegent.lock;

public interface ELegentLock {

    /**
     * 尝试获取锁（只试一次）
     * @param lockName
     * @return
     */
    boolean tryLock(String lockName);

    /**
     * 自旋获取锁
     * @param lockName
     * @return
     */
    boolean lock(String lockName);

    /**
     * 释放锁
     * @param lockName
     * @return
     */
    boolean unLock(String lockName);

    /**
     * 是否存在锁
     * @param lockName
     * @return
     */
    boolean isLocked(String lockName);
}